System and method for constructing 3d objects

ABSTRACT

The present invention is directed to an object construction device configured to enclose a specified assembly area and assemble objects, such as toys, using standardized interlocking assembly units. The construction device includes processor with a memory device configured to access an instruction set encoding the assembly instructions of the object. The processor executes the instruction set in order to control and direct an assembly unit manipulator to additively construct or assemble the object from the interlocking assembly units. The assembly units are configured with surface features that interconnect the assembly units such that once connected they are substantially permanently attached to one another.

CROSS-REFERENCE TO RELATED PATENT APPLICATIONS

This application claims the benefit of priority under 35 U.S.C. Section119 of U.S. provisional patent application No. 61/951,945, filed on Mar.12, 2014, entitled “A System and Method for Assembling Objects,” andU.S. provisional patent application No. 62/076,224, filed on Nov. 6,2014, entitled “A System and Method for Constructing 3D Objects,” eachof which is hereby incorporated by reference in its respective entirety.

FIELD OF THE INVENTION

The present invention is directed to an apparatus and method forconstructing or 3D printing objects using standardized assembly unitsaccording to a specific instruction set. In one particular arrangement,the present invention describes an apparatus configured to assemble orconstruct an object from a supply of multi-colored assembly unitsaccording to an electronic instruction set included along with thesupply of standard assembly units. In another arrangement, the inventionis directed to constructing an object, such as a toy, from standardassembly units that are permanently bonded or affixed to one another.This permanent bonding characteristic is accomplished by mechanical orchemical adhesion mechanisms.

BACKGROUND OF THE INVENTION

Additive and subtractive manufacturing technologies enable computerdesigns, such as CAD files, to be made into three dimensional (3D)objects. 3D printing, also known as additive manufacturing, typicallycomprises depositing, curing, fusing, or otherwise forming a materialinto sequential cross-sectional layers of the 3D object.

For example, fused deposition modeling techniques, which are generallydisclosed in U.S. Pat. No. 4,749,347 and U.S. Pat. No. 5,121,329, hereinincorporated by reference, describe melting a filament of material andextruding the material out of a dispenser that is moved in the x, y andz-axes relative to a print pad. The material is generally deposited inlayers in the x and y axes to form cross-sectional layers that arestacked along the z-axis to form the 3D object.

The prior art uses powders, resins and other substances to additivelyassemble structures.

However there is no description in the art for assembling objects usinga plurality of uniform, discrete assembly units. Furthermore, the artdoes not describe uniform discrete assembly units having specific colorcharacteristics. Thus, what is needed in the art is an apparatus andmethod for assembling objects having specific and varied colorcharacteristics without the necessity for painting or otherwise adorningthe object after assembly.

Additionally the construction devices and methods describe solve theproblem of constructing structurally sound objects from standardizedassembly units, especially standardized assembly units of uniform size.

SUMMARY OF THE INVENTION

In certain aspects, the present invention concerns an apparatus andmethod for assembling objects using standardized assembly units, orvoxels. As used herein a “voxel” is a three dimensional assembly unitwhich operates as a 3-dimensional extension of a 2D pixel, i.e., avolume pixel.

In one particular arrangement, an object construction device isconfigured to enclose a specified assembly area and assemble objects,such as toys, within this assembly area. The construction deviceincludes a processor with a memory device configured to access aninstruction set encoding the assembly instructions of the object. Theprocessor executes the instruction set in order to control and direct avoxel manipulator to additively construct or assemble the object fromvoxel construction units. The voxel manipulator is further configured toalter the orientation of at least one voxel prior to positioning thevoxel in the assembly area. The voxels are stored prior to use in astorage device configured to supply voxels to the voxel manipulator. Inone specific, yet non-limiting implementation, the voxels are arrangedin the voxel storage device according to the order of use in theassembly process.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing and other features of the arrangements of the presentinvention will be more readily apparent from the following detaileddescription and drawings of an illustrative embodiment of the invention.

FIG. 1 is a cutaway view of an embodiment of the arrangement of thepresent invention depicting the object assembly apparatus.

FIGS. 2A-D are side views of differing embodiments of one arrangement ofthe present invention.

FIG. 3 is a side view of the construction units' backing strip accordingto one arrangement of the present invention.

FIG. 4 is a side cutaway view of the further elements in one arrangementof the present invention.

FIG. 5 is a diagram of the operation of a voxel manipulator according toone arrangement of the present invention.

FIG. 6 is a diagram of a further operation of a voxel manipulatoraccording to one arrangement of the present invention.

FIG. 7 is a top-down view of a further particular arrangement of thepresent invention.

FIG. 8 is an illustrated diagram of the elements of the system of anembodiment of the present invention.

DESCRIPTION OF CERTAIN EMBODIMENTS OF THE INVENTION

By way of overview and introduction, the present apparatus and methoddescribe constructing objects out of a plurality of standardizedconstruction units, herein “voxels”, using an object constructor. In oneparticular arrangement, the apparatus is configured to assemble athree-dimensional object out of standardized construction units placedin overlapping and interlocking layers and having particular surfacefeatures and characteristics. For example, the object constructorconstructs a three-dimensional article, such as a toy, having a varietyof color features. By constructing the toy from voxels of varyingcolors, the end user avoids the necessity of painting the finishedassembled object. Additionally, depending of the size and nature of theassembled object, the use of different colors allows for the integrationof text and graphics onto the surface of the object at the time ofassembly.

As shown in FIG. 1, the object constructor 100 includes an objectassembly area 102, a voxel manipulator 104, and a plurality of voxelstorage containers 106. The object constructor 100 also includes aprocessor or computer 110 configured to instruct the voxel manipulator104 where to position a voxel 112 within the object assembly area basedon an instruction set. In one arrangement, the instruction set is acomputer file, such as a CAD computer file.

In a particular configuration, the object construction device alsoincludes a power supply 127. In one non limiting example, the powersupply is battery supply. In an alternative configuration, the powersupply is an AC/DC converter device to transform AC outlet power to DCpower. Those possessing ordinary skill in the art will appreciate thatthe power supply operates in cooperation with the processor and powercontrol or distribution linkages to deliver power to the variouscomponents.

As shown in the illustrated configuration, the assembly area 102 definesan enclosed space that includes an assembly stage 114. The assemblystage 114 is configured to be raised or lowered in order to meet thevoxel manipulator 104. In one arrangement, the voxel manipulator 104works in conjunction with the assembly stage 114 in order to move andposition voxels 112 within the assembly area. In a particularconfiguration, the movement of the assembly stage 114 is controlled byinstructions or signals sent from the processor 110, such as may be usedto energize a motor or solenoid that has moveable parts physicallycoupled to the assembly stage.

The object constructor 100 constructs the intended object 120 using aplurality of voxel construction units 112. A voxel 112 is a threedimensional interlocking assembly unit, and as such, has at least onesurface feature for mechanically attaching to a complimentary surfacefeature on at least one other voxel. In a further arrangement, thevoxels are each provided with attachment features that allow the voxelsto be permanently secured with vertically and horizontally alignedneighboring voxels. More particularly, the voxels allow for multi-voxelwidth and height objects to be constructed free of the need to use anoverlapping, or brick-work like stacking strategy.

In the illustrated configurations, the voxel 112 is substantially squarein two dimensions, and can be substantially cubic in all threedimensions. In alternative arrangements, the voxels 112 have differentpolyhedron configurations such as tetrahedral, hexahedral or other knownand understood three-dimensional shapes. In yet a further arrangement,the voxel 112 is spherical or ovoid in shape.

In the illustrated arrangement, the object constructor 100 also includesan optional adhesive or binding activator 121. The adhesive activator isconfigured to activate an adhesive coated on the surface of the voxels.For example, where the voxel is coated in a heat activated adhesive theadhesive activator is a device configured to transmit electromagneticenergy to the voxel in the form of infrared light. Alternatively, theadhesive activator is used to deposit a water vapor onto a voxel coatedwith a water activated adhesive.

In one particular arrangement, the voxels have millimeter scaledimensions. In this configuration, the voxels are used to constructsmall scale items and objects. Thus, the overall dimensions of thevoxels 112 are sufficiently small to allow efficient 3D manufacturingtechniques

In an alternative implementation, the voxels have diameters of at least1 centimeter in size along one side or dimension of the voxel 112. Thus,unlike prior art additive and subtractive 3D manufacturing techniques,the invention described uses voxels having dimensions that allow forindividual manipulation.

Those skilled in the art will also appreciate in at least onearrangement of the described apparatus and method, the voxels 112 usedin assembling the object 120 are selected from a number of differentshapes and sizes.

As illustrated in FIGS. 1 and 2A-C, the voxels 112 are stored in a voxelstorage device 106. In a particular iteration of the object assemblyapparatus, the voxel storage device 106 is a cartridge 504. In theillustrated configuration, two voxel storage devices are provided. Thoseskilled in the art will appreciate that any number of voxel cartridgescan be used in suitable arrangement with the device and methodsdescribed.

In a non-limiting arrangement of the elements described in FIG. 2A, thevoxel storage 106 is composed of a cartridge containing an unorderedcollection of voxels 112. In this particular arrangement, voxels 112 ina given cartridge have identical characteristics, such as identicalshape and color.

In an alternative arrangement shown in FIG. 2B, the voxel cartridge iscomposed of a plurality of receptacles 502, each receptacle holdingvoxels of different characteristics. For example, one storage receptacle502 is equipped with a collection of voxels each having a particularcolor, dimension or combination of features. In this arrangement, thenumber of voxels in each sub-arrangement or collection is not tied tothe specific construction instructions for a given item or object.

In still a further arrangement, as illustrated in FIG. 2C, the cartridge504 contains a pre-determined number of voxels that exit from thecartridge in a pre-determined sequence (A, B, C, D, E . . . ). Thissequence is related to the instruction steps necessary to construct theobject 120. For example, the voxels 112 stored in the cartridge 504 arearranged such that the first voxel accessible to the voxel feedrepresents the first voxel necessary to assemble a particular object120. Depending on the nature and complexity of the object 120 underassembly, an array of sub-sequences 506 is provided. Each subsequencecontains a specific sub sequence that corresponds to a portion of theoverall object assembly sequence.

These cartridge types can be used as a standalone cartridge or invarious combinations with other cartridge types. By way of non-limitingexample, the object constructor is equipped with a plurality ofcartridges, each cartridge holding a plurality of receptacles containingvoxels having different characteristics.

In a particular arrangement, the cartridges are equipped with an exitport or door 508 configured to allow the voxels to leave the cartridgeor receptacle. Those skilled in the art will appreciate that the door508 is activated by commonly used mechanisms, such as springs, levers,louvers, dilators, and the like. The voxels are configured to exit thecartridge for use in the construction process. In one non-limitingarrangement, each cartridge is equipped with a mechanical door or portconfigured to allow passage of one voxel at a time from the cartridge tothe voxel manipulator.

For example, the door 508 is spring operated and configured to work withthe force of gravity to remove voxels from the bottom of the cartridge.In an alternative configuration, the cartridge and/or sub cartridges areequipped with spring-loaded pushing mechanisms configured to push voxelsout of the cartridge according to an electrical or mechanical input. Ina further arrangement, the cartridge is equipped with a sliding element,that when retracted, allows the removal of a voxel. In this arrangementthe object constructor is equipped with sufficient extraction devices toobtain a voxel from the cartridge and orient the voxel into properplacement position.

An alternative arrangement of the voxel cartridge is provided in FIG.2D, a portion of which is shown in detail in FIG. 3. Here, the voxelsare secured on a strip 512 wound upon a spool 510 in a cartridge 504. Byactivating an advance mechanism controlled by the processor 110, thestrip of voxels 512 is advanced so as to present voxels 112 to the voxelmanipulator 104. In an alternative configuration, a mechanism foradvancing the voxels within the cartridge is contained within thecartridge and is controlled by the processor via electrical linkages. Inyet a further arrangement, the advancing mechanism is manuallycontrolled and operable. In a further arrangement, a second spool isprovided as a take-up wheel to store an empty backing strip and providetension to the strip 504.

As illustrated, the voxels 112 are arranged on the bottom portion of thestrip 512. However, in an alternative configuration, the voxels areplaced on a top surface of the strip. One potential configuration of thebacking strip is provided in FIG. 3. As shown, the voxels 112 areattached to a backing or strip material 512 by securing the voxel to astrip retainer 514. The strip retainer 514 is configured to removablycouple to one of the interlocking elements of the voxel 112 and securethe voxel to the strip.

In an additional or alternative configuration, the voxels are pushed outof or otherwise extracted from the cartridge. In one or moreconfigurations, the cartridge is equipped with an extraction device,such as a plunger or other mechanical device configured to push voxelsout of the cartridge. In a further arrangement the voxel pushing deviceis controlled electronically. In still a further configuration, thevoxel pushing device is a mechanically operated device.

In a further arrangement, the described cartridges 504 are equipped withan additional data storage element, or a separate processor (not shown).The data element 110 of the object constructor 100 is configured toreceive the instruction set from the data storage element of thecartridge 504. A processor integral to the cartridge 504 is configuredto communicate with the processor 110 in order to transmit theinstruction set based on the data stored in the data storage elementincluded with the cartridge 504. The stored data or instruction setincluded with the cartridge optionally includes a template for theconstruction of an object 102 using the pre-determined voxels 112 in thecartridge 504.

In one configuration of the object construction apparatus, the datastored in the data storage element of the cartridge 504 also includesauthentication and use data. The authentication data is used to confirmthat the cartridge 504 is used in conjunction with a verified objectconstructor 100. In a specific configuration, the use data confirms anauthorized amount of times that the instruction set can be used toassemble a given object 102. The use code configures the objectconstructor 100 to assemble a single object 120 based on the instructionset stored within the data storage device of the cartridge 504.Alternatively, the use code grants unlimited access to the instructionset regardless of the amount of voxels present in the cartridge.

The voxels 112 are moved from the voxel storage 106 by way of the voxelmanipulator 104. In one arrangement, the cartridge includes a strip orportion of backing material.

In a further, non-limiting arrangement shown in FIG. 4, the voxelmanipulator is used to obtain the voxels from the voxel storage devicesdirectly. For instance, in one arrangement the voxel manipulator 104 isconfigured to access or receive a voxel 112 that has exited from areceptacle or cartridge 504. In an alternative arrangement, the voxelmanipulator is configured to extract the voxel 112 from the cartridgedirectly and orient the voxel for placement and use in the constructionprocess. In a further configuration, the voxel manipulator 104 isconfigured to alter the orientation of each voxel 112 that is receivedfrom the voxel feed, such that a desired surface of the voxel 112 isplaced in a proper location.

In one arrangement shown in FIG. 5, the voxel manipulator 104 isconfigured to select a voxel using the voxel capture head 413 and movethe voxel 112 by selecting a transporting it to the desired locationwithin the X, Y coordinate space. Specifically, the voxel manipulator isconfigured to move in the X, Y and Z coordinate space to allow for theselection and transport of voxels. In the arrangement of FIG. 5, thevoxel capture head couples to an interlocking element of the voxel 112and extracts the voxel 112 from the backing strip material 512.

In a particular configuration shown in FIG. 6, the voxel capture head413 is provided with an end piece having a given shape. Likewise, thevoxels in this arrangement are provided with an opening on the topportion having a complementary shape to the end piece, the voxelmanipulator descends and inserts the end piece into the complementaryopening and then rotates the end piece such that the end piece shape andthe voxel opening are no longer complementary. The voxel manipulatorraises the voxel capture head and removes the voxel from the its backingstrip.

As illustrated in FIG. 6, the voxel manipulator 104 is configured toselect a portion of the voxel 112 with voxel capture head 413, and usethe capture head to secure a voxel 112 for transport to the desiredlocation.

The processor 110 is configured to instruct the voxel manipulator 104 todeliver the voxel to a given location within an X and Y and optionally Zaxis coordinate space within the assembly area 102. Continuing with thevoxel positioning illustrated in FIG. 5, FIG. 6 illustrates theplacement of a voxel in the course of assembling the object 120. Asshown, a voxel 112 is moved to a position that allows it to join or bindto another voxel that is already part of the object 120 underconstruction.

As shown in FIG. 7, the entire voxel manipulator 104 assembly isconfigured to move vertically along the Z-axis within the assembly areato deliver a voxel 112 to a given location. In this arrangement, thevoxel manipulator 104 is equipped with motors, gears, solenoids or otheractuators to allow for vertical movement of the voxel capture head 413,such that the voxel capture head 413 is positioned over the voxel andmoved to retrieve a voxel 112 from a voxel storage container. In aparticular arrangement, the voxel manipulator 104 is configured to movealong rails 603 aligned along the perimeter of the assembly area 102using a motor or arrangement of motors. In this configuration the voxelsare deposited in the assembly area in a layer-by-layer manner in orderto assemble the particular three-dimensional object.

In a further configuration, the voxel manipulator 104 is configured tomove within the x-y space of the assembly area in movement incrementscorresponding to the dimensions of a single voxel. For example, thevoxel manipulator 104 is equipped with a drive system. The drive systemis configured to deliver energy to the motor in pulses, each pulseconfigured to only advance the motor, such that the voxel manipulator104 has moved the width of a voxel 112. In an alternative configuration,the voxel manipulator 104 is equipped with a gear arrangement thatlimits the movement of the voxel manipulator to voxel length movementincrements.

In a further arrangement, the voxel manipulator 104 or processor 110 isconfigured with sensing and feedback mechanisms. For example, the voxelmanipulator 104 includes a mechanical or electronic device (not shown)configured to count the number of movement steps intended by theprocessor instruction set and compare that information to the presentlocation of the voxel manipulator 104. In one arrangement atwo-dimensional gird is used to orient the present position of the voxelmanipulator 104. Any of the foregoing mechanisms are then used tocorrect the position of the voxel manipulator 104 such that a voxel ispositioned correctly.

In one particular arrangement, the voxel manipulator 104 is configuredto change the orientation of the voxel 112 such that a particularsurface is presented as an exterior surface of the object 120. In onearrangement the voxel manipulator 104 is configured to rotate alongrotation axis R in order to alter the orientation of the voxel 112. Thevoxel manipulator 104 receives the voxels 112 from the voxel feed 108 ata voxel head (not shown). In a particular arrangement the voxels 112 areheld in place prior to positioning by the voxel head by friction,surface tension, magnetic fields or compressive pressure.

Once the voxel 112 has been placed in the location determined by theinstruction set executed by the processor 110, subsequent voxels 112 areobtained from voxel storage 106 and are placed according to theinstruction set. In another implementation, subsequent voxels 112 can beobtained from voxel storage 106 while another voxel is being placedrelative to the assembly stage 114.

In order to place the voxels, a computer or processor 110 is utilized toexecute instructions detailing the acquisition of voxels according to apre-set or user defined plan or schematic. In one configuration, theprocessor is configured to access pre-set instructions stored in anonboard memory. In one implementation, the processor is a chipset ofmicrochips that include separate and multiple analog and digitalprocessors. As shown in FIG. 10, the processor can provide coordinationof the other components of a general computing device, such as controlof user interfaces, applications run by the computing device 1350, anddata communication by the computing device.

Furthermore, the object constructor device of the present invention isconfigured to communicate with a general purpose computer equipped withsoftware to control the functions of the object construction. In onearrangement the object constructor is connected to a general purposecomputer by a physical linkage, such as, but not limited to, a USBcable. Alternatively, the object constructor is equipped with wirelesscommunication protocols features that permit the bi-directional orunidirectional exchange of data from the general computer to the objectconstructor.

In still a further arrangement, the general computer device is aportable or handled computing device such as, but not limited to, anApple IOS®, Windows® or Android® operating system based device.

In a particular arrangement the processor 110 is equipped with a memoryelement that stores information for use with the processor device. Insome implementations, the memory is a volatile memory unit or units. Inalternative implementations, the memory is a non-volatile memory unit orunits. Alternatively, the memory includes magnetic or optical disk(s) orsolid state memory components.

In one non-limiting arrangement, the general computer is equipped withsoftware for designing an object to be constructed and converting thatdesign into instructions for use by the object constructor. In analternative arrangement, the general purpose computer is configured toaccess a software appliance located on a remote server configured tostore and provide access to instructions sets that have been purchasedand/or created.

The present invention also includes a method of using the objectassembly device described to carry out and achieve the function ofbuilding an object using supplied voxels 112 according to an instructionset supplied to the processor. The instruction step includes receivingan instruction set indicating the necessary steps required forassembling a specified object 120 from voxel 112 units.

In one arrangement the steps include an accessing step for accessing aninstruction set from a cartridge in communicative contact with theobject constructor. In the alternative, the accessing step includesaccessing an instruction set from a remote storage device or computer.

The method also includes a voxel acquisition step for instructing thevoxel feed to transport voxels to the voxel manipulator for placement inthe assembly area. In one arrangement the voxel acquisition stepincludes selecting the appropriate voxel from a plurality of voxelreservoirs or cartridge sub-arrays. The method described also includesan optional voxel reservoir selection step where voxels having aspecific characteristic are selected from a specific voxel reservoir.

The method further includes a voxel placement step in which the voxelmanipulator transports a voxel to a location according to theinstructions provided in the instruction set. In one arrangement, thevoxel placement step includes sending instructions to the assembly stageto rise vertically to a given height so as to provide the properplacement position for the voxel. In an alternative arrangement thevoxel placement step includes moving the voxel manipulator along 3-axisso as to place the voxel at a given location on the assembly stage. In afurther arrangement, the voxel placement step also includes a sub-stepof aligning the voxel with another already placed voxel through the useof the voxel alignment element. Furthermore an additional step includesthe manipulation of the orientation of a selected voxel by the voxelmanipulator such that the appropriate color surface is selected.

The voxel manipulation and voxel acquisition steps are repeatedcontinuously until the object detailed in the instruction set isassembled.

The method also includes an optional adhesion step, in which the voxelsare bonded or otherwise permanently joined to one another. Depending onthe nature of the voxel and the included adhesion properties, i.e.mechanical, electrostatic etc., the adhesion step includes bringing thevoxels into contact with one another and activating the surface adhesioncoatings. In one arrangement the adhesion step involves removing theassembled object from the object assembly area and exposing it toelectromagnetic radiation, such as microwaves.

The steps described above and each of their processing functions can beoperated as a series of programmed steps performed by a computer systemhaving a processor or processors configured using one or more modules ofcomputer-executable code. For instance, a set of software modules can beconfigured to cooperate with one another to configure a processor sothat when executed, they provide an instruction set to an objectconstructor in order to assemble the intended object. In this regard,there can be a plurality of object selection modules, a voxel selectionmodule, a manipulation module, and an adhesion module.

The instruction module can be configured as a series of discretesub-modules designed to access an object creation instruction set from adata storage location and configure the computer to instruct the voxelmanipulator to as to the proper placement of the voxels within theassembly area.

A voxel selection module can be configured as a series of discretesub-modules designed to access the object creation instruction set andcorrelate that data to the specific voxels available in the voxelstorage receptacle. For example, the voxel selection module can beconfigured to determine which voxel reservoir to select the necessaryvoxels given the intended color and shape of the intended object.

A voxel manipulation module can be configured as a series of discretesub-modules designed to compare the instruction set for the intendedobject to the current state of the object, and position the next voxelaccordingly.

An adhesion module is provided in which an adhesion device, accessibleby the processor, is instructed to emit an adhesion substance, or energythat cures an adhesion substance for a specified period of time. Forinstance, the instruction can energize an emitter that opens a valve torelease a substance under pressure in the direction of the voxels to beadhered. Likewise, the instruction can commence an action that otherwisecauses an adhesive, vapor, or energy to be directed toward specific orgeneral voxels in a prescribed manner.

Each of these modules can comprise hardware, code executing in aprocessor, or both, that configures a machine, such as the computingsystem, to implement the functionality described herein. Thefunctionality of these modules can be combined or further separated, asunderstood by persons of ordinary skill in the art, in analogousimplementations of arrangements of the invention.

The processor of the described apparatus is configurable for connectionto remote storage devices and computing devices. For example theprocessor of the described apparatus is configuration for communicationwith a mobile computing device, or connecting via the internet to aremote server.

The computing system is further illustrated in FIG. 8, and includes aprocessor 1302, a memory 1304, a storage device 1306, a high-speedinterface 1308 connecting to the memory 1304 and multiple high-speedexpansion ports 1310, and a low-speed interface 1312 connecting to alow-speed expansion port 1314 and the storage device 1306. Each of theprocessor 1302, the memory 1304, the storage device 1306, the high-speedinterface 1308, the high-speed expansion ports 1310, and the low-speedinterface 1312, are interconnected using various busses, and can bemounted on a common motherboard or in other manners as appropriate. Theprocessor 1302 can process instructions for execution within thecomputing device 1300, including instructions stored in the memory 1304or on the storage device 1306 to display graphical information for a GUIon an external input/output device, such as a display 1316 coupled tothe high-speed interface 1308. In other implementations, multipleprocessors and/or multiple buses can be used, as appropriate, along withmultiple memories and types of memory. Also, multiple computing devicescan be connected, with each device providing portions of the necessaryoperations (e.g., as a server bank, a group of blade servers, or amulti-processor system).

The mobile computing device 1350 includes a processor 1352, a memory1364, and an input/output device such as a display 1354, a communicationinterface 1366, and a transceiver 1368, among other components. Themobile computing device 1350 can also be provided with a storage device,such as a micro-drive or other device, to provide additional storage.Each of the processor 1352, the memory 1364, the display 1354, thecommunication interface 1366, and the transceiver 1368, areinterconnected using various buses, and several of the components can bemounted on a common motherboard or in other manners as appropriate.

The processor 1352 can communicate with a user through a controlinterface 1358 and a display interface 1356 coupled to the display 1354.The display 1354 can be, for example, a TFT (Thin-Film-Transistor LiquidCrystal Display) display or an OLED (Organic Light Emitting Diode)display, or other appropriate display technology. The display interface1356 can comprise appropriate circuitry for driving the display 1354 topresent graphical and other information to a user. The control interface1358 can receive commands from a user and convert them for submission tothe processor 1352. In addition, an external interface 1362 can providecommunication with the processor 1352, so as to enable near areacommunication of the mobile computing device 1350 with other devices.The external interface 1362 can provide, for example, for wiredcommunication in some implementations, or for wireless communication inother implementations, and multiple interfaces can also be used.

The memory 1364 stores information within the mobile computing device1350. The memory 1364 can be implemented as one or more of acomputer-readable medium or media, a volatile memory unit or units, or anon-volatile memory unit or units. An expansion memory 1374 can also beprovided and connected to the mobile computing device 1350 through anexpansion interface 1372, which can include, for example, a SIMM (SingleIn Line Memory Module) card interface. The expansion memory 1374 canprovide extra storage space for the mobile computing device 1350, or canalso store applications or other information for the mobile computingdevice 1350. Specifically, the expansion memory 1374 can includeinstructions to carry out or supplement the processes described above,and can include secure information also. Thus, for example, theexpansion memory 1374 can be provided as a security module for themobile computing device 1350, and can be programmed with instructionsthat permit secure use of the mobile computing device 1350. In addition,secure applications can be provided via the SIMM cards, along withadditional information, such as placing identifying information on theSIMM card in a non-hackable manner.

It should be understood that various combination, alternatives andmodifications of the present invention could be devised by those skilledin the art. The present invention is intended to embrace all suchalternatives, modifications and variances that fall within the scope ofthe appended claims. While the invention has been particularly shown anddescribed with reference to a preferred arrangement thereof, it will beunderstood by those skilled in the art that various changes in form anddetails may be made therein without departing from the spirit and scopeof the invention

The mobile computing device 1350 can communicate wirelessly through thecommunication interface 1366, which can include digital signalprocessing circuitry where necessary. The communication interface 1366can provide for communications under various modes or protocols, such asGSM voice calls (Global System for Mobile communications), SMS (ShortMessage Service), EMS (Enhanced Messaging Service), or MMS messaging(Multimedia Messaging Service), CDMA (code division multiple access),TDMA (time division multiple access), PDC (Personal Digital Cellular),WCDMA (Wideband Code Division Multiple Access), CDMA2000, or GPRS(General Packet Radio Service), among others. Such communication canoccur, for example, through the transceiver 1368 using aradio-frequency. In addition, short-range communication can occur, suchas using a Bluetooth, WiFi, or other such transceiver (not shown). Inaddition, a GPS (Global Positioning System) receiver module 1370 canprovide additional navigation- and location-related wireless data to themobile computing device 1350, which can be used as appropriate byapplications running on the mobile computing device 1350.

The mobile computing device 1350 can also communicate audibly using anaudio codec 1360, which can receive spoken information from a user andconvert it to usable digital information. The audio codec 1360 canlikewise generate audible sound for a user, such as through a speaker,e.g., in a handset of the mobile computing device 1350. Such sound caninclude sound from voice telephone calls, can include recorded sound(e.g., voice messages, music files, etc.) and can also include soundgenerated by applications operating on the mobile computing device 1350.

The mobile computing device 1350 can be implemented in a number ofdifferent forms, as shown in the figure. For example, it can beimplemented as a cellular telephone 1380. It can also be implemented aspart of a smart-phone 1382, personal digital assistant, or other similarmobile device.

Various implementations of the systems and techniques described here canbe realized in digital electronic circuitry, integrated circuitry,specially designed ASICs (application specific integrated circuits),computer hardware, firmware, software, and/or combinations thereof.These various implementations can include implementation in one or morecomputer programs that are executable and/or interpretable on aprogrammable system including at least one programmable processor, whichcan be special or general purpose, coupled to receive data andinstructions from, and to transmit data and instructions to, a storagesystem, at least one input device, and at least one output device.

These computer programs (also known as programs, software, softwareapplications or code) include machine instructions for a programmableprocessor, and can be implemented in a high-level procedural and/orobject-oriented programming language, and/or in assembly/machinelanguage. As used herein, the terms machine-readable storage medium andcomputer-readable storage medium refer to any computer program product,apparatus and/or device (e.g., magnetic discs, optical disks, memory,Programmable Logic Devices (PLDs)) used to provide machine instructionsand/or data to a programmable processor, including a machine-readablestorage medium that receives machine instructions as a machine-readablesignal. The term machine-readable signal refers to any signal used toprovide machine instructions and/or data to a programmable processor. Amachine-readable storage medium does not include a machine-readablesignal.

To provide for interaction with a user, the systems and techniquesdescribed here can be implemented on a computer having a display device(e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor)for displaying information to the user and a keyboard and a pointingdevice (e.g., a mouse or a trackball) by which the user can provideinput to the computer. Other kinds of devices can be used to provide forinteraction with a user as well; for example, feedback provided to theuser can be any form of sensory feedback (e.g., visual feedback,auditory feedback, or tactile feedback); and input from the user can bereceived in any form, including acoustic, speech, or tactile input.

The systems and techniques described here can be implemented in acomputing system that includes a back end component (e.g., as a dataserver), or that includes a middleware component (e.g., an applicationserver), or that includes a front end component (e.g., a client computerhaving a graphical user interface or a Web browser through which a usercan interact with an implementation of the systems and techniquesdescribed here), or any combination of such back end, middleware, orfront end components. The components of the system can be interconnectedby any form or medium of digital data communication (e.g., acommunication network). Examples of communication networks include alocal area network (LAN), a wide area network (WAN), and the Internet.

The computing system can include clients and servers. A client andserver are generally remote from each other and typically interactthrough a communication network. The relationship of client and serverarises by virtue of computer programs running on the respectivecomputers and having a client-server relationship to each other.

While this specification contains many specific implementation details,these should not be construed as limitations on the scope of anyimplementation or of what can be claimed, but rather as descriptions offeatures that can be specific to particular embodiments of particularimplementations. Certain features that are described in thisspecification in the context of separate embodiments can also beimplemented in combination in a single embodiment. Conversely, variousfeatures that are described in the context of a single embodiment canalso be implemented in multiple embodiments separately or in anysuitable sub-combination. Moreover, although features can be describedabove as acting in certain combinations and even initially claimed assuch, one or more features from a claimed combination can in some casesbe excised from the combination, and the claimed combination can bedirected to a sub-combination or variation of a sub-combination.

Similarly, while operations are depicted in the drawings in a particularorder, this should not be understood as requiring that such operationsbe performed in the particular order shown or in sequential order, orthat all illustrated operations be performed, to achieve desirableresults. In certain circumstances, multitasking and parallel processingcan be advantageous. Moreover, the separation of various systemcomponents in the embodiments described above should not be understoodas requiring such separation in all embodiments, and it should beunderstood that the described program components and systems cangenerally be integrated together in a single software product orpackaged into multiple software products.

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting of the invention. Asused herein, the singular forms “a”, “an” and “the” are intended toinclude the plural forms as well, unless the context clearly indicatesotherwise. It will be further understood that the terms “comprises”and/or “comprising”, when used in this specification, specify thepresence of stated features, integers, steps, operations, elements,and/or components, but do not preclude the presence or addition of oneor more other features, integers, steps, operations, elements,components, and/or groups thereof.

It should be noted that use of ordinal terms such as “first,” “second,”“third,” etc., in the claims to modify a claim element does not byitself connote any priority, precedence, or order of one claim elementover another or the temporal order in which acts of a method areperformed, but are used merely as labels to distinguish one claimelement having a certain name from another element having a same name(but for use of the ordinal term) to distinguish the claim elements.

Also, the phraseology and terminology used herein is for the purpose ofdescription and should not be regarded as limiting. The use of“including,” “comprising,” or “having,” “containing,” “involving,” andvariations thereof herein, is meant to encompass the items listedthereafter and equivalents thereof as well as additional items.

Particular embodiments of the subject matter described in thisspecification have been described. Other embodiments are within thescope of the following claims. For example, the actions recited in theclaims can be performed in a different order and still achieve desirableresults. As one example, the processes depicted in the accompanyingfigures do not necessarily require the particular order shown, orsequential order, to achieve desirable results. In certainimplementations, multitasking and parallel processing can beadvantageous.

1-20. (canceled)
 21. A cartridge containing a plurality of assemblyunits suitable for assembling a particular three-dimensional object inaccordance with an instruction set, comprising: a housing configuredwith an exit aperture; a data storage element containing the instructionset; and a pre-determined plurality of assembly units arranged to exitfrom the exit aperture of the housing in a pre-determined sequence,wherein the sequence is correlated to the instruction set contained inthe data storage element so that the assembly units exit the cartridgein a manner that permits a layer-by-layer assembly of the particularthree-dimensional object.
 22. The cartridge of claim 21, furthercomprising a communication interface configured to allow a properlyconfigured processor to access the data storage element.
 23. Thecartridge of claim 21, further comprising a power interface configuredto connect the cartridge to a power supply.
 24. The cartridge of claim21, wherein the pre-determined number of assembly units are coupled to aremovable backing strip.
 25. The cartridge of claim 24, furthercomprising an advancement mechanism, wherein the advancement mechanismis configured to serially advance the predetermined plurality ofassembly units.
 26. The cartridge of claim 25, wherein the advancementmechanism is activated in response to an instruction received by thecommunication interface.
 27. The cartridge of claim 25, wherein thebacking strip is wound upon a spool located within the housing of thecartridge.
 28. The cartridge of claim 25, wherein there is at least asecond spool located within the housing of the cartridge.
 29. Thecartridge of claim 28, wherein there the second spool is configured towind a portion of the backing strip not coupled to an assembly unit. 30.A cartridge for use with a three-dimensional assembly device, thecartridge configured with an assembly unit housing and an exit, the exitcommunicatively coupled to a 3-dimensional object assembly area, andpermitted allow the assembly units to exit the assembly unit housing,wherein each assembly unit has an identical shape and are at least 1 cmin size along at least one dimension.